package com.turing.post.capitalaccounts.util;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 销售机构缴款入帐单
 * 
 * @author 李治
 * 
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "SALECREDITDEPOSITBILL")
public class SaleCreditDepositBill implements Serializable {
	/**
	 * 入账单ID
	 */
	private BigInteger saleCreditDepositBillId;
	/**
	 * 发卡商No
	 */
	private String issueCompanyNo;
	/**
	 * 销售机构号
	 */
	private String saleBranchNo;
	/**
	 * 记帐日期
	 */
	private Date tranDate;
	/**
	 * 记帐时间
	 */
	private Date tranTime;
	/**
	 * 发生金额
	 */
	private BigInteger amount;
	/**
	 * 缴款方式
	 */
	private String depositType;
	/**
	 * 备付金账户ID
	 */
	private BigInteger issueBankAccountId;
	/**
	 * 付款人账户ID
	 */
	private BigInteger paidBankAccountId;
	/**
	 * 凭证号
	 */
	private String voucherNo;
	/**
	 * 凭证摘要
	 */
	private String voucherRemark;
	/**
	 * 凭证图片
	 */
	private BigInteger voucherImageId;
	/**
	 * 取消入账单ID
	 */
	private BigInteger cancelSaleCreditDepositBillId;
	/**
	 * 操作员ID
	 */
	private BigInteger operId;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 缴款方式 现金
	 */
	public static final String DEPOSITTYPE_CASH = "0";
	/**
	 * 缴款方式 转账
	 */
	public static final String DEPOSITTYPE_TRANSFER = "1";

	public SaleCreditDepositBill() {
		super();
	}

	@Id
	@Column(name = "SALECREDITDEPOSITBILLID", nullable = false)
	public BigInteger getSaleCreditDepositBillId() {
		return saleCreditDepositBillId;
	}

	public void setSaleCreditDepositBillId(BigInteger saleCreditDepositBillId) {
		this.saleCreditDepositBillId = saleCreditDepositBillId;
	}

	@Column(name = "ISSUECOMPANYNO", nullable = false)
	public String getIssueCompanyNo() {
		return issueCompanyNo;
	}

	public void setIssueCompanyNo(String issueCompanyNo) {
		this.issueCompanyNo = issueCompanyNo;
	}

	@Column(name = "SALEBRANCHNO", nullable = false)
	public String getSaleBranchNo() {
		return saleBranchNo;
	}

	public void setSaleBranchNo(String saleBranchNo) {
		this.saleBranchNo = saleBranchNo;
	}

	@Column(name = "TRANDATE", nullable = false)
	public Date getTranDate() {
		return tranDate;
	}

	public void setTranDate(Date tranDate) {
		this.tranDate = tranDate;
	}

	@Column(name = "AMOUNT", nullable = false)
	public BigInteger getAmount() {
		return amount;
	}

	public void setAmount(BigInteger amount) {
		this.amount = amount;
	}

	@Column(name = "DEPOSITTYPE", nullable = false)
	public String getDepositType() {
		return depositType;
	}

	public void setDepositType(String depositType) {
		this.depositType = depositType;
	}

	@Column(name = "ISSUEBANKACCOUNTID")
	public BigInteger getIssueBankAccountId() {
		return issueBankAccountId;
	}

	public void setIssueBankAccountId(BigInteger issueBankAccountId) {
		this.issueBankAccountId = issueBankAccountId;
	}

	@Column(name = "PAIDBANKACCOUNTID")
	public BigInteger getPaidBankAccountId() {
		return paidBankAccountId;
	}

	public void setPaidBankAccountId(BigInteger paidBankAccountId) {
		this.paidBankAccountId = paidBankAccountId;
	}

	@Column(name = "VOUCHERNO")
	public String getVoucherNo() {
		return voucherNo;
	}

	public void setVoucherNo(String voucherNo) {
		this.voucherNo = voucherNo;
	}

	@Column(name = "VOUCHERREMARK")
	public String getVoucherRemark() {
		return voucherRemark;
	}

	public void setVoucherRemark(String voucherRemark) {
		this.voucherRemark = voucherRemark;
	}

	@Column(name = "VOUCHERIMAGEID")
	public BigInteger getVoucherImageId() {
		return voucherImageId;
	}

	public void setVoucherImageId(BigInteger voucherImageId) {
		this.voucherImageId = voucherImageId;
	}
	@Column(name = "CANCELSALECREDITDEPOSITBILLID")
	public BigInteger getCancelSaleCreditDepositBillId() {
		return cancelSaleCreditDepositBillId;
	}

	public void setCancelSaleCreditDepositBillId(
			BigInteger cancelSaleCreditDepositBillId) {
		this.cancelSaleCreditDepositBillId = cancelSaleCreditDepositBillId;
	}

	@Column(name = "OPERID")
	public BigInteger getOperId() {
		return operId;
	}

	public void setOperId(BigInteger operId) {
		this.operId = operId;
	}

	@Column(name = "REMARK")
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	@Column(name = "TRANTIME", nullable = false)
	public Date getTranTime() {
		return tranTime;
	}

	public void setTranTime(Date tranTime) {
		this.tranTime = tranTime;
	}

}